/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mx.edu.itschapala.sistemas.septimo.control;

import java.util.ArrayList;
import java.util.List;
import mx.edu.itschapala.sistemas.septimo.modelo.Cliente;
import mx.edu.itschapala.sistemas.septimo.modelo.Venta;
import mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda;
import static mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda.CONTIENE;
import static mx.edu.itschapala.sistemas.septimo.vista.enumeracion.TipoBusqueda.INICIA;

/**
 *
 * @author Estudiante
 */
public class VentaLnLista implements VentaLnLocal{
    Venta venta;
 private List<Venta> listaVenta = new ArrayList<Venta>();
    @Override
    public void registrar(Venta venta) {
        listaVenta.add(venta);
    }

    @Override
    public void modificar(Venta venta) {
          Venta tmp = buscarPorCodigo(venta.getId());
    if(tmp!=null){
    listaVenta.remove(tmp);
    listaVenta.add(venta);
    }
    }

    @Override
    public void eliminar(Venta venta) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public Venta buscarPorCodigo(int id) {
          for (Venta cliente1 : listaVenta) {
          if( cliente1.getId()==id){
          this.venta=cliente1;
          break;
          
          }
    }
          return venta;
    }
    @Override
    public List<Venta> getTodos() {
        return listaVenta;
    }

     

    @Override
    public List<Venta> getPorCliente(String cliente, TipoBusqueda criterio) {
            List<Venta> tmp = new ArrayList<Venta>();
        switch (criterio) {
            case INICIA:
                for (Venta v : listaVenta) {
                    if (v.getCliente().startsWith(cliente)) {
                        tmp.add(v);
                    }
                }
                break;
            case CONTIENE:
                for (Venta v : listaVenta) {
                    if (v.getCliente().contains(cliente)) {
                        tmp.add(v);
                    }
                }
                break;

        }
        return tmp;
    }
    }
    

